package cn.com.bluemoon.daps.standard.entity;

import cn.com.bluemoon.daps.common.domain.BaseModel;
import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;

import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;

/**
 * <p>
 * 数据标准维度
 * </p>
 *
 * @author admin
 * @since 2021-09-23
 */
@Data
@Accessors
@ApiModel(value = "DapStandardDim", description = "数据标准维度")
public class DapStandardDim extends BaseModel<DapStandardDim> {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "维度名称")
    @NotNull(message = "维度名称不能为空")
    @Size(max = 20, message = "维度名称长度字符不能超过20")
    private String codeName;

    @ApiModelProperty(value = "简称")
    @NotNull(message = "维度简称不能为空")
    @Size(max = 10, message = "维度名称长度字符不能超过10")
    private String code;

    @ApiModelProperty(value = "类型 0:普通维度 1：层级维度")
    @NotNull(message = "维度类型不能为空")
    private Integer type;

    @ApiModelProperty(value = "关联业务线")
    @NotNull(message = "业务线不能为空")
    private Integer bizLineId;

    @ApiModelProperty(value = "业务线名称", hidden = true)
    @TableField(exist = false)
    private String bizName;

    @ApiModelProperty(value = "关联主题分类id")
    private String themeId;

    @ApiModelProperty(value = "主题分类名称", hidden = true)
    @TableField(exist = false)
    private String themeName;

    @ApiModelProperty(value = "关联模型表id（最新模型数据）")
    private String modelTableId;

    @ApiModelProperty(value = "模型表名", hidden = true)
    @TableField(exist = false)
    private String tableName;

    @ApiModelProperty(value = "系统id", hidden = true)
    @TableField(exist = false)
    private String systemId;

    @ApiModelProperty(value = "模型id", hidden = true)
    @TableField(exist = false)
    private String modelId;
}
